package cn.bugstack.trigger.api;

import cn.bugstack.trigger.api.dto.RaffleAwardListRequestDTO;
import cn.bugstack.trigger.api.dto.RaffleAwardListResponseDTO;
import cn.bugstack.trigger.api.dto.RaffleRequestDTO;
import cn.bugstack.trigger.api.dto.RaffleResponseDTO;
import cn.bugstack.types.model.Response;


import java.util.List;

/**
 * @Title: IRaffleService
 * @Author lz
 * @Date 2025/8/10 19:40
 * @description: 抽奖服务接口
 */
public interface IRaffleService {
    /**
     * 策略预热
     *
     * @param strategyId 策略ID
     * @return 预热结果
     */
    Response<Boolean> strategyArmory(Long strategyId);

    /**
     * 查询策略奖品列表
     *
     * @param requestDTO 查询参数
     * @return 策略奖品列表
     */
    Response<List<RaffleAwardListResponseDTO>> queryRaffleAwardList(RaffleAwardListRequestDTO  requestDTO);
    /**
     * 随机抽奖
     *
     * @param requestDTO 抽奖参数
     * @return 抽奖结果
     */
    Response<RaffleResponseDTO> randomRaffle(RaffleRequestDTO requestDTO);
}
